home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 361_01 / tee.c < prev    next >
C/C++ Source or Header  |  1991-09-18  |  1KB  |  55 lines

  1.  
  2. #include <stdio.h>
  3. #include <io.h>
  4. #include <stdek.h>
  5. #include <string.h>
  6.  
  7. /* TEE ---> Squirt Stdin-Stdout Stream into a Specified File
  8.  *
  9.  * J.Ekwall 20 September 1989
  10.  *
  11.  * Copyrighted to the Public Domain.  Unlimited Distribution Authorized.
  12.  *
  13.  * Last Update: 20 September 1989
  14.  */
  15.  
  16. /* Declare ProtoTypes */
  17. void PX_Pipe(char *);
  18. void Usage(void);
  19.  
  20. main (int argc, char *argv[])
  21. {
  22.     int c;
  23.     char File[128];
  24.     FILE *fp;
  25.  
  26.  /* Check for Parameters */
  27.     if (INFLOW_EXISTS IS FALSE) Usage();
  28.     if (argc != 2) Usage();
  29.     strcpy(File,argv[1]); if (*File IS '$') PX_Pipe(File);
  30.     if ((fp = fopen(File,"w")) IS NULL) { perror(File); exit(1); }
  31.  
  32.  /* Do Business */
  33.     while ((c = getchar()) != EOF) { putc(c,fp); putchar(c); }
  34.     fclose(fp);
  35. }
  36.  
  37. void PX_Pipe(char *Text)
  38. {
  39.     char Tbuf[128];
  40.  
  41.     strcpy(Tbuf,Text+ 1);
  42.     if ((strlen(Tbuf) < 1) || (strlen(Tbuf) > 4)) return;
  43.     strcpy(Text,"\\STD "); strcat(Text,Tbuf);
  44. }
  45.  
  46. void Usage(void)
  47. {
  48.     fprintf(stderr, "\nUsage:\n");
  49.     fprintf(stderr,
  50.     "       TEE file_name ---> Squirt Stdin/out Text into a File.\n\n");
  51.     fprintf(stderr,
  52.     "       Full Pathname OK.  PX Pipes ($Pipe) are Legal.\n\n");
  53.     exit(1);
  54. }
  55.